To build your own main menu, you have to edit menu.rc. See the included default menu.rc for examples and available commands.
Lines starting with # or ! are ignored.
Each menu item consists of 1..3 fields:
[command] (label) {data}
Menu structure | |
---|---|
[begin] (label) | indicates the begin of the menu, label is optional. |
[end] | indicates the end of the menu or submenu, required. |
[submenu] (label) | inserts a submenu into the menu, must be closed by [end] |
[include] {filename} | This will continue reading items from the indicated file. |
[nop] (label) | inserts an inactive item with an optional label |
[sep] | inserts a separator (same as [nop]) |
Inserting submenus | |
---|---|
[path] (label) {folder} | inserts an submenu with a folder from your computer as specified. |
[path] (label) {folder1|folder2} | merges two folders into a single menu |
[insertpath] {folder} | inserts any items from the specified folder into the current menu. |
[stylesmenu] (label) {folder} | insert a folder with style files |
[stylesdir] {folder} | insert stylefiles from the specified folder into the current menu. |
[config] (label) | inserts the ConfigMenu. |
[workspaces] (label) | insert the workspaces menu. |
[tasks] (label) | insert a menu with the currenly iconized tasks. |
In addition to normal paths like {c:/program files}, a number of items may be used to indicate a special shellfolder. See shellfolders.rc for examples.
Blackbox commands | |
---|---|
[style] (label) {filename} | insert an item to apply a new style. |
[toggleplugins] (label) | show/hide plugins |
[aboutplugins] (label) | display 'about plugins' info |
[aboutstyle] (label) | display 'about style' info |
[reconfig] (label) | re-read the configuration files |
[restart] (label) | reload plugins |
[exit] (label) | exit blackbox |
Edit commands | |
---|---|
[edit] (label) {file} | edit the specified 'file' |
[editstyle] (label) | edit the current style |
[editmenu] (label) | edit menu.rc |
[editlugins] (label) | edit plugins.rc |
[editextensions] (label) | edit extension.rc |
[editblackbox] (label) | edit blackbox.rc |
The 'edit' commands use the 'blackbox.editor', which is specified in extensions.rc. For example:
blackbox.editor: plugins\bbnote\bbnote.exe
External commands | |
---|---|
[exec] (label) {command} | run a program or execute a Broadcast message. |
[run] (label) | show the windows 'run' dialog |
Shutdown commands | |
---|---|
[logoff] (label) | logoff (*) |
[suspend] (label) | suspend the computer (*) |
[reboot] (label) | reboot the computer (*) |
[shutdown] (label) | shutdown the computer (*) |
[lockworkstation] (label) | lock workstation (*) |
[hibernate] (label) | hibernate (*) |
[exitwindows] (label) | display standard shutdown dialog |
(*) You can add {-quiet} for no confirmation.
Generally, the background can be an image or a dynamically generated gradient. The background is specified in the current style with a line that starts like:
rootCommand: bsetroot -full "backgrounds\your_image.jpg"
Click on bsetroot.exe to get some help on it.
bbLean uses bsetroot.exe to generate the background and then either displays it on it's own or let's Windows set the wallpaper, depending on the setting of 'Smart Wallpaper' in 'config -> graphics'.
Also any processing of the rootCommand may be disabled in 'config -> graphics'.
Desktop Margins are the area of the screen, which is not covered by maximized windows. They can be set to adjust automatically according to the placement of the bars or manually from the configuration menu.
Multiple monitors: Automatic adjustement is supposed to work indenpendently on monitors. Manual margins for 2nd monitor may be set in extensions.rc:
blackbox.desktop.2.marginLeft: ...
List each application to be common among all workspaces on a separate line in 'StickyWindows.ini' (located in the blackbox.exe's folder), save the changes, and 'reconfigure.'
Click 'Show Appnames' from 'config -> misc.' to get a list of currently running tasks and their internal names.
bbLean can be run on top of explorer or installed as default shell.
To install bblean as default shell, use the install option from the included default menu or type in the commandline:
blackbox -install
On Win2k/XP you will be asked if you want to install bbLean for all users or for the current user only.
To reset explorer as shell, use the uninstall option from the included default menu or type in the commandline:
blackbox -uninstall
In either case, the new setting will take effect after the next reboot.
Notes:
Switches | |
---|---|
-help | Show version and commandline info |
-install | Install Blackbox as default shell |
-uninstall | Reset Explorer as default shell |
-nostartup | Do not run startup programs |
-rc <file> | Specify alternate blackbox.rc |
Broadcast messages (Broams) are messages sent to Blackbox and plugins to trigger some actions.
They may be sent
[exec] (label) {@BroadcastMessage}
..., WithAction(ExecCommand), DoThis(@BBCore.ShowMenu)
Any command, which toggles a setting, can have an optional argument 'true' or 'false' to specify the new state.
Menu | |
---|---|
@BBCore.ShowMenu | show pinned menu, or main menu as default |
@BBCore.ShowMenu Root | show the main menu |
@BBCore.ShowMenu Workspaces | show workspaces menu |
@BBCore.ShowMenu Icons | show icons menu (minimized tasks) |
@BBCore.ShowMenu Configuration | show configuration menu |
@BBCore.ShowMenu <path> | show folder as specified |
@BBCore.ShowMenu <menu.rc> | display alternative menu as specified |
@BBCore.HideMenu | hide menus, except the pinned ones |
Windows | |
---|---|
@BBCore.PrevWindow | activate previous window |
@BBCore.NextWindow | activate next window |
@BBCore.PrevWindowAllWorkspaces | activate previous window (all workspaces) |
@BBCore.NextWindowAllWorkspaces | activate next window (all workspaces) |
@BBCore.RaiseWindow | bring bottom window on top |
@BBCore.LowerWindow | send top window to bottom |
@BBCore.ShadeWindow | shade window |
@BBCore.CloseWindow | close window |
@BBCore.MinimizeWindow | minimize window |
@BBCore.MaximizeWindow | maximize window |
@BBCore.MaximizeVertical | maximize window vertically |
@BBCore.MaximizeHorizontal | maximize window horizontally |
@BBCore.RestoreWindow | restore window |
All Windows | |
---|---|
@BBCore.MinimizeAll | minimize all windows |
@BBCore.RestoreAll | restore all windows |
@BBCore.CascadeWindow | cascade windows |
@BBCore.TileVertical | tile windows vertically |
@BBCore.TileHorizontal | tile windows horizontally |
Workspaces | |
---|---|
@BBCore.LeftWorkspace | previous workspace |
@BBCore.RightWorkspace | next workspace |
@BBCore.MoveWindowLeft | move window to previous workspace |
@BBCore.MoveWindowRight | move window to next workspace |
@BBCore.GatherWindows | gather all windows in the current workspace |
@BBCore.AddWorkspace | add another workspace |
@BBCore.DelWorkspace | delete the last workspace |
@BBCore.EditWorkspaceNames | edit the names of workspaces, separate by commata |
@BBCore.SwitchToWorkspace #n | switch to the specified workspace number (1..n) |
Blackbox | |
---|---|
@BBCore.toggleplugins | hide/show plugins (if configured to 'toggle with plugins') |
@BBCore.aboutstyle | display style info |
@BBCore.aboutplugins | display plugin info |
@BBCore.reconfig | reload style-settings and rc-settings |
@BBCore.restart | unload and reload all plugins |
@BBCore.exit [-q] | exit the blackbox shell. -q(uiet) = no confirmation. |
Edit | |
---|---|
@BBCore.editstyle | run the 'blackbox editor' on the current style |
@BBCore.editmenu | run the 'blackbox editor' on menu.rc |
@BBCore.editplugins | run the 'blackbox editor' on plugins.rc |
@BBCore.editextensions | run the 'blackbox editor' on extensions.rc |
@BBCore.editblackbox | run the 'blackbox editor' on blackbox.rc |
@BBCore.edit <file> | run the 'blackbox editor' on the specified file |
The 'blackbox editor' is specified in extensions.rc.
Shutdown | |
---|---|
@BBCore.shutdown [-q] | shutdown the computer. -q(uiet) = no confirmation. |
@BBCore.reboot [-q] | reboot the computer |
@BBCore.logoff [-q] | logoff |
@BBCore.hibernate [-q] | hibernate |
@BBCore.suspend [-q] | suspend the computer |
@BBCore.lockworkstation | lock workstation |
@BBCore.exitwindows | display standard shutdown dialog |
Other | |
---|---|
@BBCore.exec <command> | execute a command |
@BBCore.style <stylefile> | apply the specified style |
@BBCore.rootCommand <command> | set wallpaper |
@BBCore.run | display the windows 'run' dialog |
@BBCore.showAppnames | display a list of running tasks. |
@BBCore.message <message> | display message box for confirmation. |
Configuration | |
---|---|
@BBCfg.plugin.load <plugin> | load/unload a plugin |
@BBCfg.plugin.inslit <plugin> | toggle slit mode for plugin |
@BBCfg.plugin.add <pathToPlugin> | add a plugin to the list and load it. |
Use the Show Bro@ms option in config->menus to view other broadcast messages for core configuration and plugins.
This is to execute multiple commands on one broadcast message. The command list must be enclosed into '[ ]'s, and single commands are separated by '|'s and may be broams or external executables.
@Script [@SomeBroam | some_prog arguments | @AnotherBroam]
These codes are used for formatting the clock displays, for ...
session.screen0.strftimeFormat: %#I:%M:%S %p
bbleanbar.strftimeFormat: %d %a %#H:%M
Label | Value |
---|---|
%a | Abbreviated weekday name |
%A | Full weekday name |
%b | Abbreviated month name |
%B | Full month name |
%c | Date and time representation appropriate for locale |
%d | Day of month as decimal number (01 - 31) |
%H | Hour in 24-hour format (00 - 23) |
%I | Hour in 12-hour format (01 - 12) |
%j | Day of year as decimal number (001 - 366) |
%m | Month as decimal number (01 - 12) |
%M | Minute as decimal number (00 - 59) |
%p | Current locale's A.M./P.M. indicator for 12-hour clock |
%S | Second as decimal number (00 - 59) |
%U | Week of year as decimal number, with Sunday as first day of week (00 - 53) |
%w | Weekday as decimal number (0 - 6; Sunday is 0) |
%W | Week of year as decimal number, with Monday as first day of week (00 - 53) |
%x | Date representation for current locale |
%X | Time representation for current locale |
%y | Year without century, as decimal number (00 - 99) |
%Y | Year with century, as decimal number |
%z | Either the time-zone name or time zone abbreviation, depending on registry settings; no characters if time zone is unknown |
%Z | same as above |
%% | Percent sign |
The # flag modifies some of the above as follows:
Format | Effect |
---|---|
%#c | Long date and time representation, appropriate for current locale. |
%#x | Long date representation, appropriate to current locale. |
%#d,H,I,j,m,M,S,U,w,W,y,Y | Remove leading zeros (if any). |
%#a,A,b,B,p,X,z,Z,% | # flag is ignored |
Note: Check or unset the TZ environment variable on your computer to correct timezone issues.